Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Кафедра теоретичної радіотехніки та радіовимірювань
Звіт з лабораторної роботи №12
Тема «Побудова графічних позначень елементів радіоелектронних схем»
з дисципліни «Інформатика та обчислювальна техніка»
Мета роботи - засвоїти методику та виробити практичні навики застосування засобів графічного виводу інформації на прикладі побудови графічних позначень елементів радіоелектронних схем.
Варіант 10
ЗАВДАННЯ.
Розробити підпрограму-процедуру для побудови графічного позначення електрорадіоелемента, вибраного з табл. 12.a згідно з варіантом, і викликаючу її головну програму. В якості параметрів процедура повинна отримувати координати точки з’єднання елемента А у вигляді запису з полями X,Y. В головній програмі необхідно проініціалізувати графічний режим і побудувати зображення елемента в різних частинах екрану. Побудувати позначення елемента з різними орієнтаціями і передачею процедурі орієнтації в якості параметру послідовного типу.
№
Назва
Позначення
10
Польовий транзис-тор з каналом
р-типу
МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ РОБОТИ
Перед написанням програми треба намалювати необхідне зображення на міліметрівці у збільшеному масштабі і відмітити координати характерних точок.
З метою полегшення налагодження програми треба описати ці координати як змінні типу word або integer. Порівняймо, наприклад, два способи креслення обкладок конденсатора в варіанті 12:
Moveto(XA,YA); Moverel(20,0); Linerel(0,(10); Linerel(0,20); Moverel(5,0); Linerel(0,(20);
Y1:=10; DX:=5; XV:=20; Moveto(XA,YA); Moverel(XV,(Y1); Linerel(0,2*Y1); Moverel(DX,0); Linerel(0,(2*Y1);
При необхідності змінити розмір пластин в першій програмі необхідно виконати три виправлення (причому взаємопов’язаних), а в другій ( лише одне, значення Y1.
Особливо важливою ця вимога стає при необхідності пересування деякого обє’кта, наприклад стрілок у варіантах 2,5..10,12,13. Якщо креслити стрілки операторами
Line(XA+10,YA,XA+20,YA);
Line(XA+15,YA(3,XA+20,YA);
Line(XA+15,YA+3,XA+20,YA);
то зміщення її вимагатиме 12 узгоджених виправлень, інакше стрілка “розпадеться”. Якщо ж впровадити додаткові змінні і описати стрілку так:
XN:=XA+10; YN:=YA; XK:=XN+10; DX:=5; DY:=3;
Moveto(XN,YN); Lineto(XK,YN);
Moverel((DX,(DY); Linerel(DX,DY); Linerel((DX,DY);
то зміна її положення і розмірів вимагатиме виправлення лише одного значення змінної, причому стрілка завжди лишатиметься стрілкою.
ВИКОНАННЯ ЗАВДАННЯ.
ТЕКСТ ПРОГРАМИ.
Program L12;
uses Crt, Graph;
Var GraphDriver,GraphMode,ErrorCode:Integer;
a,X,Y,XA,YA,X1,Y1,DX,DY,XV,YV,XN,YN,XK,YK:Integer;
procedure tranzystor1(XA,YA:integer);
begin
OuttextXY(XA-5,YA-20,'A');
Moveto(XA,YA);
pieslice(XA,YA,0,360,2); Lineto(XA+30,YA);
Moverel(5,3); Linerel(-5,-3); Linerel(5,-3);
Moveto(XA,YA); Lineto(XA+60,YA);
Linerel(0,10); Linerel(0,-60);Linerel(0,10);Linerel(100,0);
Moverel(0,40);Linerel(-100,0);
Circle(XA+80,YA-30,60);
end;
procedure tranzystor2(XA,YA:integer);
begin
OuttextXY(XA-5,YA-20,'A');
Moveto(XA,YA);
pieslice(XA,YA,0,360,2); Lineto(XA-30,YA);
Moverel(-5,-3); Linerel(5,3); Linerel(-5,3);
Moveto(XA,YA); Lineto(XA-60,YA);
Linerel(0,10); Linerel(0,-60);Linerel(0,10);Linerel(-100,0);
Moverel(0,40);Linerel(100,0);
Circle(XA-80,YA-30,60);
end;
procedure tranzystor3(XA,YA:integer);
begin
OuttextXY(XA-5,YA-20,'A');
Moveto(XA,YA);
pieslice(XA,YA,0,360,2); Lineto(XA,YA+30);
Moverel(3,5); Linerel(-3,-5); Linerel(-3,5);
Moveto(XA,YA); Lineto(XA,YA+50);
Linerel(10,0); Linerel(-60,0);Linerel(10,0);Linerel(0,100);
Moverel(40,0);Linerel(0,-100);
Circle(XA-30,YA+80,60);
end;
procedure tranzystor4(XA,YA:integer);
begin
OuttextXY(XA-5,YA+20,'A');
Moveto(XA,YA);
pieslice(XA,YA,0,360,2);...